home *** CD-ROM | disk | FTP | other *** search
/ PD ROM 1 / PD ROM Volume I - Macintosh Software from BMUG (1988).iso / Programming / Languages / Jeff Interpreter Docs / Fibonacci downwards < prev    next >
Encoding:
Text File  |  1986-12-08  |  1.5 KB  |  41 lines  |  [TEXT/JEFF]

  1. 00 NOOP        THIS PROGRAM CREATE IN THE DATA STACK THE FIRST N
  2. 01 NOOP        FIBONACCI NUMBERS IN THE DOWWNWARD ORDER. TO GET A
  3. 02 NOOP        NEW  FIBONACCI NUMBER YOU ADD UP THE LAST TWO YOU
  4. 03 NOOP        GOT AND THE FIRST TWO FIBONACCI NUMBERS ARE 1.
  5. 04 NOOP        --------------------------------------------------
  6. 05 ILIT 15     ADDRESS 0 STORES THE OFFSET OF THE # NEXT TO THE LAST
  7. 06 PUSH 13     ALLOCATE MEMORY SPACE----N = 15
  8. 07 ILIT 1
  9. 08 ILIT 1      PUSH THE FIRST TWO FILSONACCI NUMBERS
  10. 09 DUPL        TAKE ADVANTAGE OF THE FACT THAT THE FIRST TWO ARE EQ
  11. 10 NOOP        -------------------------------------------
  12. 11 LOAD 0 0
  13. 12 DUPL        MAKE A COPY OF IT FOR LATER USE
  14. 13 ILIT 2
  15. 14 LSEQ        TEST WHETHER THE OFFSET IS <= 2
  16. 15 BRTR 37     IF TRURE, STOP
  17. 16 NOOP        ----------------------------------------
  18. 17 REF 0 0
  19. 18 ADD         PRODUCE THE ADDRESS FOR THE # NEXT TO THE LAST
  20. 19 ILOD
  21. 20 ADD         PRODUCE THE NEXT FILSONACCI NUMBER
  22. 21 DUPL
  23. 22 NOOP        ---------------------------------------------
  24. 23 LOAD 0 0
  25. 24 DUPL
  26. 25 ILIT 1
  27. 26 SUB         UPDATE THE OFFSET
  28. 27 STOR 0 0
  29. 28 NOOP        ---------------------------------------------
  30. 29 ILIT 2
  31. 30 SUB            PRODUCE THE OFFSET TO STORE THE NEW NUMBER
  32. 31 REF 0 0
  33. 32 ADD          PRODUCE THE ADDRESS TO STORE THE NEW NUMBER
  34. 33 EXCH
  35. 34 ISTO         STORE THE NEW NUMBER
  36. 35 BUNC 11
  37. 36 NOOP         --------------------------------------------
  38. 37 POP 2        REMOVE THE COPY OF ADDRESS 0 & THAT OF THE LAST #
  39. 38 STOP
  40. DUMP
  41.